// Generated from antlr/demo.g4 by ANTLR 4.9.0-SNAPSHOT


import { ParseTreeVisitor } from "antlr4ts/tree/ParseTreeVisitor";

import { FileContext } from "./demoParser";
import { SectionContext } from "./demoParser";
import { Section_headerContext } from "./demoParser";
import { AttributeContext } from "./demoParser";
import { InstanceContext } from "./demoParser";
import { AgrsContext } from "./demoParser";
import { ValueContext } from "./demoParser";


/**
 * This interface defines a complete generic visitor for a parse tree produced
 * by `demoParser`.
 *
 * @param <Result> The return type of the visit operation. Use `void` for
 * operations with no return type.
 */
export interface demoVisitor<Result> extends ParseTreeVisitor<Result> {
	/**
	 * Visit a parse tree produced by `demoParser.file`.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	visitFile?: (ctx: FileContext) => Result;

	/**
	 * Visit a parse tree produced by `demoParser.section`.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	visitSection?: (ctx: SectionContext) => Result;

	/**
	 * Visit a parse tree produced by `demoParser.section_header`.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	visitSection_header?: (ctx: Section_headerContext) => Result;

	/**
	 * Visit a parse tree produced by `demoParser.attribute`.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	visitAttribute?: (ctx: AttributeContext) => Result;

	/**
	 * Visit a parse tree produced by `demoParser.instance`.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	visitInstance?: (ctx: InstanceContext) => Result;

	/**
	 * Visit a parse tree produced by `demoParser.agrs`.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	visitAgrs?: (ctx: AgrsContext) => Result;

	/**
	 * Visit a parse tree produced by `demoParser.value`.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	visitValue?: (ctx: ValueContext) => Result;
}

